package com.bjbn.dto;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 旅客服务平台登录请求DTO
 * 
 * @author bjbn
 */
@Schema(description = "旅客服务平台登录请求")
public class PspLoginRequest {

    @Schema(description = "报文头对象", required = true)
    private Header header;

    @Schema(description = "数据区对象", required = true)
    private Data data;

    public static class Header {
        @Schema(description = "字符串，不能认为一定是数字串", required = true, example = "20181001000000")
        private String tid;

        @Schema(description = "主版本.次版本当前固定为1.0", required = true, example = "1.0")
        private String version;

        @Schema(description = "固定login", required = true, example = "login")
        private String operation;

        // Getters and Setters
        public String getTid() {
            return tid;
        }

        public void setTid(String tid) {
            this.tid = tid;
        }

        public String getVersion() {
            return version;
        }

        public void setVersion(String version) {
            this.version = version;
        }

        public String getOperation() {
            return operation;
        }

        public void setOperation(String operation) {
            this.operation = operation;
        }
    }

    public static class Data {
        @Schema(description = "需要获取token的系统标识", required = true, example = "aa")
        private String system;

        @Schema(description = "验证码", required = true, example = "123456")
        private String password;

        // Getters and Setters
        public String getSystem() {
            return system;
        }

        public void setSystem(String system) {
            this.system = system;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }
    }

    // Getters and Setters
    public Header getHeader() {
        return header;
    }

    public void setHeader(Header header) {
        this.header = header;
    }

    public Data getData() {
        return data;
    }

    public void setData(Data data) {
        this.data = data;
    }
} 